Miniaturization of electronics and improvements in signal processing and wireless communications have opened the world market place to a diverse range of mobile electronics that can provide a variety mobile communication, entertainment, and utility functions. Such devices often include a main processor and one or more other peripheral devices, such as sensors or transducers, that assist in providing the communication, or entertainment, or utility functions. Each peripheral device often requires the use of one or more general purpose inputs and/or outputs (I/O) of the main processor to communicate information about peripheral device status, such as, in the case of a sensor, the sensed information. In some applications, the cost and/or ability of a mobile electronic device to provide certain communication, entertainment, or utility functions can be driven by the availability of general purpose I/O on the main processor.
In certain examples, interrupts can be handled without using any processor general purpose I/O. Such an example can use a communication bus to poll the peripheral devices and service a peripheral device if an interrupt type condition exists. Although this type of system would reduce the number of general purpose I/O dedicated to receiving interrupts of the peripheral devices, interrupt latency, the time interval between the onset of the interrupt condition and the processor servicing the condition, can be unpredictable or unacceptable. Interrupt latency in such an example can depend on the speed of the communication bus and the number of peripheral devices polled. If such latency is too long, applications that depend on timely information from the peripheral devices may not be practical or provide useful utility.
Using processor general purpose I/O can provide very low latency intervals. However, availability of such general purpose I/O can limit the number of available peripheral devices provided or can drive the cost of a highly equipped system higher than the market can bear.